Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update dependency org.jobrunr:jobrunr-spring-boot-3-starter to v7 #1182

Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 9, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jobrunr:jobrunr-spring-boot-3-starter 6.3.5 -> 7.0.0 age adoption passing confidence

Release Notes

jobrunr/jobrunr (org.jobrunr:jobrunr-spring-boot-3-starter)

v7.0.0

Compare Source

🎉 Time for JobRunr v7.0.0 🎉

It's Celebration Time Once Again at JobRunr!

We are excited to announce the release of JobRunr v7.0.0 and JobRunr Pro v7.0.0. This major release is now available via Maven Central and directly for our Pro subscribers through the customer portal. Building on our promise to deliver robust job scheduling solutions, v7.0.0 brings a suite of powerful new features, substantial performance enhancements, and critical dashboard improvements. Let’s delve into what makes this release a game-changer for developers and enterprises alike for both JobRunr Pro and JobRunr OSS!

🙏 We'd also like to thank all of the developers and companies who have beta tested JobRunr v7 beta's and release candidates.

What is new?

Pro Version:

New Features
  • JobRunr Pro now has builtin support for Virtual Threads! They are enabled by default for JDK 21 and higher. PR #​906
  • Improved OpenId authentication with authorization - add authorization support in the dashboard based on extensive rule-set. PR #​188
  • Dashboard GDPR/HIPAA support: allow to redact jobs so that no confidential information can be leaked. PR #​194
  • Rate Limiting - rate limit the amount of jobs being processed using either a ConcurrentJobRateLimiter and the SlidingTimeWindowRateLimiter. PR #​202
  • Add support for Strings as a JobIdentifier. PR #​285 (fixes #​236)
  • Workflow improvement: jobs can now continueOn success and continueOn failure or just onFailure. PR #​260
  • Make BackgroundJobServer shutdown period configurable. PR #​297 (fixes #​288)
  • Add option to skip retries with DoNotRetryPolicy for individual jobs and exceptions. PR #​303
  • Dashboard - add extra columns to job tables and allow to configure columns visibility. PR #​250
  • Cursor based Job Page - add support for Cursor Based Paging to support multi dashboard. PR #​212
  • InMemoryStorageProvider now allows for a pollInterval as small as 200ms (useful for testing purposes). PR #​909 (fixes #​619)
  • Dynamic Queues can reserve a certain amount of the total workers using the FixedSizeWorkerPoolDynamicQueuePolicy. PR #​237
  • Allow updating job labels from within a JobFilter. PR #​251 (fixes #​239)
  • Allow to delete recurring jobs automatically using a deleteAt hint. PR #​257
  • Add support for job progress monitoring via JobServerFilter to get notified on job progress. PR #​282
Enhancements
  • BackgroundJobServer Master Tasks are now spread over multiple threads for smooth processing. PR #​280
  • Use Time-based UUID's as ID's for jobs instead of UUID.randomUUID() for lower disk usage in databases. PR #​890 (fixes #​891)
  • Significantly decrease JSON size. PR #​892
  • Improve Dynamic Queue Policy in combination with rate limiters by slowly phasing out unused dynamic queues. PR #​216
  • Workflow improvement: jobs within batch jobs can now use continuations while batch jobs themselves have continuations. (fixes #​201)
  • Performance improvement: prevent Optimistic Locking Exceptions and use select for update skip locked if the database supports it. PR #​904
  • Refactor batch jobs to not use metadata for succeeded child jobs. (fixes #​217)
  • Support for unlimited batch jobs. PR #​265 (fixes #​254)
  • Dashboard: batch jobs are now directly visible on the jobs page. PR #​250
  • Improve Job Metrics using MicroMeter. PR #​274 (fixes #​242)
  • Wait for database migrations to finish before starting background job processing PR #​266
  • Improve Recurring Jobs in Spring Boot / Micronaut / Quarkus and keep paused state. PR #​304
  • Fetch all SCHEDULED jobs at the same pollInterval. PR #​273
  • JobRunr let's you know when your JobFilters are too slow via a warning. PR #​961
  • Query new JobRunr version via frontend instead of via the backend. PR #​979
  • Refactor the StorageProvider and cleanup deprecated methods. PR #​893
  • Performance improvement: improved SQL indexes (thanks to the customers who where willing to share their data)
  • Log warning if ASM is not compatible. PR #​925 (fixes #​924)
Fixed bugs
  • Fix Bug where Micronaut integration fails if multiple servers are used. PR #​852
  • Make sure MicroMeter Job metrics is also working with Fluent configuration .PR #​207
  • Fix when moving from JobRunr OSS v4 to JobRunr Pro v6. PR #​880
  • Fix bug inMigrateFromV5toV6Task related RecurringJobs migration. PR #​238
  • Allow to gracefully stop the BackgroundJobServer. PR #​272
  • enqueueOrReplace and scheduleOrReplace now also update server tags PR #​267 (fixes #​164)
  • Fix GraalVM native mode in Quarkus PR #​295
  • Make database migrations work on WildFly. PR #​883
  • Fix Bug ApplyStateFilter is called before save resulting in multiple calls to onStateApplied. PR #​903 (fixes #​902)
  • Use Jackson by default in Quarkus if present. PR #​913 (fixes #​887)
  • Fix Bug JobServerFilter.onProcessingFailed is not called when a job orphans (e.g. if background job server dies). PR #​921 (fixes #​920)
  • Fix Bug IllegalStateException: Can not find variable 3 in stack. PR #​941, PR #​945 (fixes #​942)
  • Fix Bug CronExpression.validateSchedule() does not correctly check for interval size. PR #​859 (fixes #​858)
Breaking changes
  • @Recurring has been moved to core org.jobrunr.jobs.annotations.Recurring and uses enums instead of booleans. The attributes paused and scheduleJobsSkippedDuringDowntime now use an enum instead of a boolean. This allows us to keep the paused state of a Recurring job even if you redeploy (default) whereas in the past, on redeploy, the Job would be started automatically again. If paused is put to false in the @Recurring, the Recurring job will start on redeploy even if it was paused before via the dashboard
  • JobScheduler.delete(String id) has been renamed to JobScheduler.deleteRecurringJob(String id)
  • The StorageProvider has been updated and is not backwards compatible as is the Page and PageRequest. A new class org.jobrunr.storage.Paging was added where all utility methods regarding Paging have been collected
  • For SQL databases, JobRunr deletes all indexes and recreates them for better performance. If you have a lot of jobs in your database, the migration may take a while. Also, on some databases column types are changed for better performance making this release not backwards compatible.
  • JobRunr and JobRunr Pro 7 requires MongoDB Driver 5.0.0 or higher (please be aware that Spring Boot 3.2 still depends on Mongo 4.x)
  • We're also dropping the RedisStorageProvider and the ElasticSearchStorageProvider in JobRunr Pro. JobRunr 7 OSS will be the last to support it.
  • JobContext.getSignature() has been renamed to JobContext.getJobSignature()
  • JobDashboardProgressBar.setValue(...) has been renamed to JobDashboardProgressBar.setProgress(long succeededAmount)
  • Overall BatchJobs logic has been rewritten, make sure MigrateFromV6toV7Task is run

OSS version:

New features
  • JobRunr now has builtin support for Virtual Threads! They are enabled by default for JDK 21 and higher. PR #​906
  • InMemoryStorageProvider now allows for a pollInterval as small as 200ms (useful for testing purposes). PR #​909 (fixes #​619)
  • Make BackgroundJob server shutdown period configurable. PR #​973 (fixes #​288)
Enhancements
  • Use Time-based UUID's as ID's for jobs instead of UUID.randomUUID() for lower disk usage in databases. PR #​890 (fixes #​891)
  • Significantly decrease JSON size, PR #​892
  • Performance improvement: prevent Optimistic Locking Exceptions and use select for update skip locked if the database supports it PR #​904:
  • BackgroundJobServer Master Tasks are now spread over multiple threads for smooth processing. PR #​954
  • Add access to labels via JobContext. PR #​969 (fixes #​286)
  • JobRunr let’s you know when your JobFilters are too slow via a warning. PR #​961
  • Quarkus - Separate build time and runtime configuration. PR #​845
  • Update ElasticSearch to new Java API. PR #​850 (fixes #​499)
  • Wait for database migrations to finish before starting background job processing
  • Query new JobRunr version via frontend instead of via the backend PR #​979
  • Log warning if ASM is not compatible. PR #​925 (fixes #​924)
Fixed bugs
  • Make database migrations work on WildFly. PR #​883
  • Fix Bug ApplyStateFilter is called before save resulting in multiple calls to onStateApplied. PR #​903 (fixes #​902)
  • Use Jackson by default in Quarkus if present. PR #​913 (fixes #​887)
  • Fix Bug JobServerFilter.onProcessingFailed is not called when a job orphans (e.g. if background job server dies). PR #​921 (fixes #​920)
  • Fix Bug IllegalStateException: Can not find variable 3 in stack. PR #​941, PR #​945 (fixes #​942)
  • Fix Bug where Micronaut integration fails if multiple servers are used. PR #​852 (fixes #​847)
  • Fix Bug CronExpression.validateSchedule() does not correctly check for interval size. PR #​859 (fixes #​858)
Misc
Breaking changes
  • @Recurring has been moved to core org.jobrunr.jobs.annotations.Recurring
  • JobScheduler.delete(String id) has been renamed to JobScheduler.deleteRecurringJob(String id)
  • The StorageProvider has been updated and is not backwards compatible as is the Page and PageRequest. A new class org.jobrunr.storage.Paging was added where all utility methods regarding Paging have been collected
  • For SQL databases, JobRunr deletes all indexes and recreates them for better performance. If you have a lot of jobs in your database, the migration may take a while.
  • JobRunr and JobRunr Pro 7 requires MongoDB Driver 5.0.0 or higher (please be aware that Spring Boot 3.2 still depends on Mongo 4.x)
  • We're also deprecating the RedisStorageProvider and the ElasticSearchStorageProvider. JobRunr 7 will be the last to support it.
  • JobContext.getSignature() has been renamed to JobContext.getJobSignature()
  • JobDashboardProgressBar.setValue(...) has been renamed to JobDashboardProgressBar.setProgress(long succeededAmount)
Contributors

We thank the following contributors for their help with JobRunr v7!

Try it out now and let us know your feedback! Your input is very important, so we can provide you smooth v7.0.0 JobRunr!

Best,

Friends of developers

The JobRunr Team


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor

coderabbitai bot commented Apr 9, 2024

Important

Auto Review Skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share

Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added type: dependency-upgrade Pull requests that update a dependency file component: jobrunr labels Apr 9, 2024
Copy link

sonarqubecloud bot commented Apr 9, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@rajadilipkolli rajadilipkolli merged commit af75087 into main Apr 11, 2024
6 checks passed
@rajadilipkolli rajadilipkolli deleted the renovate/org.jobrunr-jobrunr-spring-boot-3-starter-7.x branch April 11, 2024 06:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: jobrunr type: dependency-upgrade Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant